<ui:composition template="/WEB-INF/templates/layout.xhtml"
                xmlns="http://www.w3.org/1999/xhtml"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:p="http://primefaces.org/ui"
                >
    <ui:define name="content">
        <h:form id="formvehiculo">
            <p:growl autoUpdate="true"/>
            <p:panel header="Gestion de Vehiculos">
                <p:tabView id="tabView"  dynamic="false">
                    <p:tab id="tba1" title="Registro de Vehiculos">
                        <h:outputLabel style="font-size: x-small" value="(*) Campo obligatorio"/>
                        <br/>
                        <br/>
                        <h:panelGrid columns="4" id="idvehiculopanel">
                            <p:outputLabel value="Fecha:" for="idfecha"/>
                            <p:outputPanel>
                                <p:calendar size="35" required="true" value="#{vehiculoController.vehiculo.fecha}" mode="popup" navigator="true"
                                            showButtonPanel="true" showOn="button" id="idfecha" requiredMessage='El campo "Fecha" es requerido'/>
                                <p:watermark for="idfecha" value="dd/mm/aa" /> 
                            </p:outputPanel>
                            <p:outputLabel value="Fecha itv:" for="idfechaitv"/>
                            <p:outputPanel>
                                <p:calendar size="35" required="true" value="#{vehiculoController.vehiculo.fechaitv}" mode="popup" navigator="true"
                                            showButtonPanel="true" showOn="button" id="idfechaitv" requiredMessage='El campo "Fecha itv es requerido'/>
                                <p:watermark for="idfechaitv" value="dd/mm/aa" /> 
                            </p:outputPanel>
                            <p:outputLabel value="Fecha revision:" for="idfecharev"/>
                            <p:outputPanel>
                                <p:calendar size="35" required="true" value="#{vehiculoController.vehiculo.fecharevision}" mode="popup" navigator="true"
                                            showButtonPanel="true" showOn="button" id="idfecharev" requiredMessage='El campo "Fecha revision" es requerido'/>
                                <p:watermark for="idfecharev" value="dd/mm/aa" /> 
                            </p:outputPanel>
                            <p:outputLabel  value="Kilomentro" for="vehiculokilometro"/>
                            <p:inputMask maxlength="5" mask="9?999999999999999" placeHolder="" size="35" value="#{vehiculoController.vehiculo.km}"
                                         id="vehiculokilometro" required="true" requiredMessage='El campo "Km" es requerido'/>
                            <p:outputLabel value="Matricula:" for="vehiculomatricula" />
                            <p:inputText maxlength="7" size="35" value="#{vehiculoController.vehiculo.matricula}" id="vehiculomatricula" required="true"
                                         requiredMessage='El campo "Matricula" es requerido'/>
                            <p:outputPanel/>
                            <p:outputPanel/>
                            <p:commandButton update="idvehiculopanel idtablevehiculo" value="Guardar" actionListener="#{vehiculoController.save}"
                                             process="@this idfecha idfechaitv idfecharev vehiculokilometro vehiculomatricula" />
                            <p:commandButton value="Cancelar" process="@this" actionListener="#{vehiculoController.init()}" update="idvehiculopanel"/>

                        </h:panelGrid>
                    </p:tab>  
                    <p:tab id="tba2" title="Listar Vehiculos" >
                        <h:panelGrid columns="3">
                            <h:inputText id="idbuscarprof" size="50" value="#{vehiculoController.valorBusqueda}"/>
                            <p:watermark for="idbuscarprof" value="Digite Matricula " /> 
                            <p:commandButton process="idbuscarprof @this" value="Buscar" update="idtablevehiculo" action="#{vehiculoController.search}"/>
                        </h:panelGrid>
                        <p:dataTable id="idtablevehiculo" paginator="true" rows="5" paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,15" value="#{vehiculoController.listaVehiculo}" var="varvehiculo">
                            <p:column headerText="Fecha">
                                #{vehiculoController.formatFecha(varvehiculo.fecha)}
                            </p:column>
                            <p:column headerText="Fecha itv">
                                #{vehiculoController.formatFecha(varvehiculo.fechaitv)}
                            </p:column>
                            <p:column headerText="Fecha revision">
                                #{vehiculoController.formatFecha(varvehiculo.fecharevision)}
                            </p:column>
                            <p:column headerText="matricula">
                                #{varvehiculo.matricula}
                            </p:column>
                            <p:column headerText="Seccion">
                                #{varvehiculo.seccion.nombre}
                            </p:column>
                            <p:column headerText="Acciones">
                                <p:commandButton value="Editar" process="@this idtablevehiculo" update=":formvehiculo:tabView">
                                    <f:setPropertyActionListener target="#{vehiculoController.vehiculo}" value="#{varvehiculo}"/>
                                </p:commandButton>
                            </p:column>
                        </p:dataTable>
                    </p:tab>
                    <p:tab id="tba3" title="Mantenimiento de Vehiculos">
                        <ui:include src="vehiculos/mantenimiento.xhtml"/>
                    </p:tab>
                    <p:tab id="tba4" title="Listar Mantenimiento Vehiculos" >
                        <h:panelGrid columns="7">
                            <h:inputText id="idbuscarfact" value="#{facturaController.valorBusqueda}"/>
                            <p:watermark for="idbuscarfact" value="Digite Matricula" /> 
                            <p:calendar readonlyInput="true" mode="popup" navigator="true" showButtonPanel="true" showOn="button" value="#{facturaController.fechaI}"  id="fechadesde" />
                            <p:watermark for="fechadesde" value="Fecha Desde(dd/mm/aa)" /> 
                            <p:calendar readonlyInput="true" mode="popup" navigator="true" showButtonPanel="true" showOn="button" value="#{facturaController.fechaF}"  id="fechahasta" />
                            <p:watermark for="fechahasta" value="Fecha Hasta(dd/mm/aa)" /> 
                            <p:commandButton process="fechadesde fechahasta idbuscarfact @this" value="Buscar" update="idtablefacturas" action="#{facturaController.search()}"/>
                        </h:panelGrid>
                        <p:dataTable id="idtablefacturas" paginator="true" rows="5" paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,15" value="#{facturaController.listaFactura}" var="varfactura">
                            <p:column headerText="Fecha">
                                #{facturaController.formatFecha(varfactura.fecha)}
                            </p:column>
                            <p:column headerText="Concepto">
                                #{varfactura.concepto}
                            </p:column>
                            <p:column headerText="Vehiculo">
                                #{varfactura.vehiculo.matricula}
                            </p:column>
                            <p:column headerText="Km">
                                #{varfactura.km}
                            </p:column>
                            <p:column headerText="Proveedor">
                                #{varfactura.proveedor.nombres}
                            </p:column>
                            <p:column headerText="Total">
                                #{varfactura.total}
                            </p:column>
                            <p:column headerText="Imprimir">
                                <p:commandButton immediate="true" process="@this" id="downloadLink" value="Descargar" ajax="false" 
                                                 actionListener="#{facturaController.descargarFactura(varfactura.vehiculo.matricula, varfactura.fecha)}" 
                                                 onclick="cerrarDialogo(); PrimeFaces.monitorDownload(start, stop);"
                                                 icon="ui-icon-circle-arrow-s">  
                                    <p:fileDownload value="#{facturaController.dcDescarga}"/>
                                </p:commandButton> 
                            </p:column>
                        </p:dataTable>
                    </p:tab>
                </p:tabView> 
            </p:panel>
        </h:form>
        
        <p:confirmDialog id="imprimirFactura" showEffect="fade" hideEffect="clip" appendToBody="true"
                message="¿Desea imprimir factura actual?"
                header="Impresión Factura" severity="alert" widgetVar="confirmImprimirFactura">
        <h:form id="formImprimirFacturaVehiculos">
        <center>
        <p:commandButton id="btnBorrarSI" value="Si" styleClass="ui-confirmdialog-yes" icon="ui-icon-check"
                        actionListener="#{facturaController.imprimirFactura}" 
                        onclick="cerrarDialogo(); PrimeFaces.monitorDownload(start, stop);">
            <p:fileDownload value="#{facturaController.dc}"/>
        </p:commandButton>
        <h:inputHidden id="idFacturaAlumno" value="#{facturaController.idFacturaAlumno}"/>
        <p:commandButton id="btnBorrarNO" value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close"
                        onclick="cerrarDialogo();"/>
        </center>
        </h:form>
        </p:confirmDialog>
        
        <script type="text/javascript">
            function cerrarDialogo() {
                confirmImprimirFactura.hide();
            }
            
            function printFactura(args) {
                if(args.validationFailed) {
                    //alert("Ingresa los datos requeridos");
                } else if(args.statusTransaction == false) {
                    alert(args.errorTransaction);
                } else {
                    document.getElementById("formImprimirFacturaVehiculos:idFacturaAlumno").value = args.idFacturaAlumno;
                    confirmImprimirFactura.show();
                }
            }
        </script>
        
    </ui:define>
</ui:composition>
